package com.jinzhi.jzweb.pojo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 
 * <pre>
 * 订单记录表
 * </pre>
 * <small> 2021-04-08 09:00:12 | lance</small>
 */
@Data
@SuppressWarnings("serial")
//这是的这里继承的基础服务类，有几个基本字段
public class BookOrderVO implements Serializable {
	@TableId
    @Excel(name = "订单序号" ,width = 20)
	private Long id;

    /** 下单时间 */

    private Date orderCreatetime;


    private String orderCreatetimes;
    @Excel(name = "下单时间" ,width = 25)
    private String startTime;
    /** 仓库名称 */
    //@Excel(name = "仓库名称" ,width = 10)
    private String warehouse;

    /** 关联bookID */
    @Excel(name = "书籍种类" ,width = 10)
    private String bookName;

    /** 行政审核字段0未审核  1审核通过   2审核拒绝（并且说明理由）3仓库管理人员审核通过  4仓库管理人员审核拒绝 */
    private Integer state;

    //审核状态临时字段
    private String states;

    /** 审核拒绝的备注 */
    @Excel(name = "审核拒绝的备注" ,width = 20)
    private String remarks;

    /** 关联bookID */
    private Long bookId;

    /** 仓库管理人员审核备注 */
    @Excel(name = "仓库管理人员审核备注" ,width = 10)
    private String adminRemarks;

    /** 所属省份 */
    @Excel(name = "所属省份" ,width = 10)
    private String province;

    /** 所属市 */
    @Excel(name = "所属市" ,width = 10)
    private String city;

    /** 所属县 */
    @Excel(name = "所属县" ,width = 10)
    private String county;

    /** 详细地址 */
    @Excel(name = "详细地址" ,width = 10)
    private String address;

    /** 收件人 */
    @Excel(name = "收件人" ,width = 10)
    private String addressee;

    /** 收件人电话 */
    @Excel(name = "收件人电话" ,width = 15)
    private String mobile;
    /** 创建订单人员 */

    private Long creareUser;

    /** 订单审核人员 */
    private Long orderUser;

    /** 订单审核人员名称 */
    @Excel(name = "订单审核人员" ,width = 10)
    private String orderUserName;

    /** 发货审核人员 */
    private Long goodsUser;

    /** 发货审核人员名称 */
    @Excel(name = "发货审核人员" ,width = 10)
    private String goodsUserName;

    /** 创建订单人员 */
    @Excel(name = "创建订单人员" ,width = 30)
    private String createUserNmae;


    /** 订单数量 */
    @Excel(name = "基础知识数量" ,width = 10)
    private Integer orderNumber;
    /** 折扣 */
    @Excel(name = "基础知识折扣" ,width = 20)
    private BigDecimal discount;

    /** 订单初级数量 */
    @Excel(name = "订单初级数量" ,width = 10)
    private Integer orderPrimary;

    /** 初级折扣 */
    @Excel(name = "初级折扣" ,width = 10)
    private BigDecimal discountPrimary;

    /** 订单中级数量 */
    @Excel(name = "订单中级数量" ,width = 10)
    private Integer orderIntermediate;

    /** 中级折扣 */
    @Excel(name = "订单中级折扣" ,width = 10)
    private BigDecimal discountIntermediate;

    /** 订单高级数量 */
    @Excel(name = "订单高级数量" ,width = 10)
    private Integer orderSenior;
    /** 高级折扣 */
    @Excel(name = "订单高级折扣" ,width = 10)
    private BigDecimal discountSenior;
    /** 订单价格 */
    @Excel(name = "订单折后价" ,width = 10)
    private BigDecimal orderMoney;

    /** 订单价格 */
    @Excel(name = "订单原价" ,width = 10)
    private BigDecimal primaryMoney;

    /** 实际收款金额 */
    @Excel(name = "实际收款金额" ,width = 10)
    private BigDecimal actualMoney;

    /** 退款金额 */
    @Excel(name = "退款金额" ,width = 10)
    private BigDecimal refundMoney;

    /** 退款状态 0 未退款 1 已退款 */
    @Excel(name = "退款状态" ,width = 10)
    private String refundStates;




    private String expressName;

    /** 学校或者单位名称 */
    @Excel(name = "学校或者单位名称" ,width = 30)
    private String school;


    /** 开票名称 */
    @Excel(name = "开票名称" ,width = 30)
    private String billingName;
    /** 纳税识别号 */
    @Excel(name = "纳税识别号" ,width = 30)
    private String billingNumber;
    /** 开票地址 */
    @Excel(name = "开票地址" ,width = 30)
    private String billingAddress;
    /** 开户行账户 */
    @Excel(name = "开户行账户" ,width = 30)
    private String billingAccountNumber;
    /** 开户行邮箱 */
    @Excel(name = "开户行邮箱" ,width = 30)
    private String billingMailbox;
    /** 发票状态 */
    private Integer stateMoney;

    /** 发票状态 */
    @Excel(name = "发票状态" ,width = 30)
    private String stateMoneys;

    /** 发票审核备注 */
    @Excel(name = "发票审核备注" ,width = 30)
    private String stateMoneyMark;

    /**  0未付款，1 已付款   */
    private Integer stateCollection;

    /**  0未付款，1 已付款   */
    @Excel(name = "付款状态" ,width = 10)
    private String stateCollections;


    /** 发票类型  电子发票  跟纸质发票 */
    @Excel(name = "发票类型" ,width = 15)
    private String invoiceType;

    /** 是否包邮0 包邮 1不包邮 */
    private int post;

    /**  0未付款，1 已付款   */
    @Excel(name = "是否包邮" ,width = 10)
    private String posts;

    /** 发票地址 */
    @Excel(name = "发票邮寄地址" ,width = 30)
    private String invoiceAddress;
    @Excel(name = "快递单号" ,width = 20)
    private String orderCode;


    private String endTime;

    /** 年份 */
    private Integer year;



    /** 退款状态 0 未退款 1 已退款 */
    private Integer refundState;


    /** exl文档 */
    private String exlUrl;

    /** 初级折扣价 */
    private BigDecimal primaryDiscountPayment;

    /** 中级折扣价 */
    private BigDecimal intermediatePayment;

    /** 高级折扣价 */
    private BigDecimal seniorPayment;

    /** 基础知识折扣价 */
    private BigDecimal basicsPayment;


    /** 部门 */
    private String department;


    private Integer orderType;
}
